//
//  LSSafeProtector.m
// https://github.com/lsmakethebest/LSSafeProtector
//
//  Created by liusong on 2018/8/9.
//  Copyright © 2018年 liusong. All rights reserved.
//

#import "LSSafeProtector.h"

@interface NSObject (LSSafeProtector)
//打开当前类安全保护
+ (void)openSafeProtector;

@end


#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wincomplete-implementation"

@implementation NSObject (LSSafeProtector)
@end

#pragma clang diagnostic pop


@implementation LSSafeProtector

+(void)openSafeProtector {
    
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        [NSObject openSafeProtector];
        [NSArray openSafeProtector];
        [NSMutableArray openSafeProtector];
        [NSDictionary openSafeProtector];
        [NSMutableDictionary openSafeProtector];
        [NSString openSafeProtector];
        [NSMutableString openSafeProtector];
        [NSAttributedString openSafeProtector];
        [NSMutableAttributedString openSafeProtector];
        [NSSet openSafeProtector];
        [NSMutableSet openSafeProtector];
        [NSData openSafeProtector];
        [NSMutableData openSafeProtector];
    });
}
 

@end
